<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml"
      xmlns:ui="http://java.sun.com/jsf/facelets"
      xmlns:jb="http://java.sun.com/jsf/composite/componentes"
      xmlns:h="http://java.sun.com/jsf/html"
      xmlns:f="http://java.sun.com/jsf/core"            
      xmlns:p="http://primefaces.org/ui">

    <ui:composition template="/pages/core/plantilla/plantillaPrincipal.xhtml">
        <ui:define name="contenido">                 
            <h:form onsubmit="return checkSubmit();"  id="frmPrincipal">          
                <p:panel id="pnlPrincipal" header="#{i18n['producto.panel']}" style="#{applicationMBean.estiloTitulo}">
                    <h:panelGrid id="pgFormDto" columns="6" cellpadding="4">                                       

                    
                        
                         <h:outputLabel value="#{i18n['producto.label.es.servicio']}" styleClass="label"/>
                        <p:selectBooleanCheckbox value="#{productoMBean.dto.esServicio}"  disabled="#{sessionMBean.accion == 3}" />

                         
                                                  
                        <h:outputLabel value="#{i18n['producto.label.activo']}" styleClass="label"/>
                        <p:selectBooleanCheckbox value="#{productoMBean.dto.estado}"  disabled="#{sessionMBean.accion == 3}"/>
                        
                       



                        <h:outputLabel value="#{i18n['producto.label.descripcion']}" styleClass="label"/>
                        <p:inputTextarea label="#{i18n['producto.label.descripcion']}" style="#{applicationMBean.estiloObligatorio}"
                                         value="#{productoMBean.dto.descripcion}"  readonly="#{sessionMBean.accion == 3}"
                                         required="true" cols="50" rows="2" >
                            <f:validateLength minimum="5" />
                        </p:inputTextarea>   

                        <h:outputLabel value="#{i18n['producto.label.descripcion.detalle']}" styleClass="label"/>
                        <p:inputTextarea label="#{i18n['producto.label.descripcion.detalle']}" style="#{applicationMBean.estiloObligatorio}"
                                         value="#{productoMBean.dto.descripcionDetalle}"  readonly="#{sessionMBean.accion == 3}"
                                         required="false" cols="50" rows="2" >

                        </p:inputTextarea>   

                        <h:outputLabel value="#{i18n['producto.label.descripcion.idioma1']}" styleClass="label"/>
                        <p:inputTextarea label="#{i18n['producto.label.descripcion.idioma1']}" style="#{applicationMBean.estiloObligatorio}"
                                         value="#{productoMBean.dto.descripcionIdioma1}"  readonly="#{sessionMBean.accion == 3}"
                                         required="false" cols="50" rows="2" >                            
                        </p:inputTextarea>

                        <h:outputLabel value="#{i18n['producto.label.sku']}" styleClass="label"/>
                        <h:panelGrid columns="2">
                            <p:inputText id="idIteSku" label="#{i18n['producto.label.sku']}" style="#{applicationMBean.estiloObligatorio}"
                                         value="#{productoMBean.dto.sku}"  readonly="#{productoMBean.dto.autogenerarSku}" 
                                         required="true"  >
                                <f:validateLength minimum="5" />
                            </p:inputText>  
                            <p:selectBooleanCheckbox value="#{productoMBean.dto.autogenerarSku}" styleClass="label"  disabled="#{sessionMBean.accion == 3}" itemLabel="#{i18n['producto.label.autogenerar.sku']}">
                                    <p:ajax update="idIteSku" />
                            </p:selectBooleanCheckbox>
                        </h:panelGrid>                     


                        <h:outputLabel styleClass="label" value="#{i18n['producto.label.unidad.medida']}"/>                    
                        <p:selectOneMenu value="#{productoMBean.dto.unidadMedidaDto}"  converter="parametroConvert" style="#{applicationMBean.estiloObligatorio}" disabled="#{sessionMBean.accion == 3}">
                            <f:selectItems value="#{productoMBean.siUnidadesMedida}" var="parametroDto" itemLabel="#{parametroDto.descripcion}" itemValue="#{parametroDto}" />                        
                        </p:selectOneMenu>

                        <h:outputLabel styleClass="label" value="#{i18n['producto.label.moneda.compra']}"/>                    
                        <p:selectOneMenu value="#{productoMBean.dto.monedaCompraDto}"  converter="parametroConvert" style="#{applicationMBean.estiloObligatorio}" disabled="#{sessionMBean.accion == 3}">
                            <f:selectItems value="#{productoMBean.siMonedas}" var="parametroDto" itemLabel="#{parametroDto.descripcion}" itemValue="#{parametroDto}" />                        
                        </p:selectOneMenu>
                        <h:outputLabel value="#{i18n['producto.label.precio.compra']}" styleClass="label"/>
                        <p:inputText label="#{i18n['producto.label.precio.compra']}" style="#{applicationMBean.estiloObligatorio}"
                                     value="#{productoMBean.dto.precioCompra}"  readonly="#{sessionMBean.accion == 3}"
                                     onkeypress="return fn_validaTecla('decimal',this)"
                                     required="true" size="10" >
                            <f:validateLength minimum="1" maximum="9" />
                            <f:convertNumber pattern="#{applicationMBean.formatoMontos}" />
                        </p:inputText>  
                        <h:outputLabel value="#{i18n['producto.label.descuento.compra']}" styleClass="label"/>
                        <p:inputText label="#{i18n['producto.label.descuento.compra']}" style="#{applicationMBean.estiloObligatorio}"
                                     value="#{productoMBean.dto.descuentoCompra}"  readonly="#{sessionMBean.accion == 3}"
                                     onkeypress="return fn_validaTecla('decimal',this)"
                                     required="true" size="10" >
                            <f:validateLength minimum="1" maximum="9" />
                            <f:convertNumber pattern="#{applicationMBean.formatoMontos}" />
                        </p:inputText>  


                        <h:outputLabel styleClass="label" value="#{i18n['producto.label.moneda.venta']}"/>                    
                        <p:selectOneMenu value="#{productoMBean.dto.monedaVentaDto}"  converter="parametroConvert" style="#{applicationMBean.estiloObligatorio}" disabled="#{sessionMBean.accion == 3}">
                            <f:selectItems value="#{productoMBean.siMonedas}" var="parametroDto" itemLabel="#{parametroDto.descripcion}" itemValue="#{parametroDto}" />                        
                        </p:selectOneMenu>
                        <h:outputLabel value="#{i18n['producto.label.precio.venta']}" styleClass="label"/>
                        <p:inputText label="#{i18n['producto.label.precio.venta']}" style="#{applicationMBean.estiloObligatorio}"
                                     value="#{productoMBean.dto.precioVenta}"  readonly="#{sessionMBean.accion == 3}"
                                     onkeypress="return fn_validaTecla('decimal',this)"
                                     required="true" size="10">
                            <f:validateLength minimum="1" maximum="9" />
                            <f:convertNumber pattern="#{applicationMBean.formatoMontos}" />
                        </p:inputText>  
                        <h:outputLabel value="#{i18n['producto.label.descuento.venta']}" styleClass="label"/>
                        <p:inputText label="#{i18n['producto.label.descuento.venta']}" style="#{applicationMBean.estiloObligatorio}"
                                     value="#{productoMBean.dto.descuentoVenta}"  readonly="#{sessionMBean.accion == 3}"
                                     onkeypress="return fn_validaTecla('decimal',this)"
                                     required="true" size="10" >
                            <f:validateLength minimum="1" maximum="9" />
                            <f:convertNumber pattern="#{applicationMBean.formatoMontos}" />
                        </p:inputText> 

                        <h:outputLabel value="#{i18n['producto.label.stock.minimo']}" styleClass="label"/>
                        <p:inputText label="#{i18n['producto.label.stock.minimo']}" style="#{applicationMBean.estiloObligatorio}"
                                     value="#{productoMBean.dto.stockMinimo}"  readonly="#{sessionMBean.accion == 3}"
                                     onkeypress="return fn_validaTecla('decimal',this)"
                                     required="true" size="10" >
                            <f:validateLength minimum="1" />
                            <f:convertNumber pattern="#{applicationMBean.formatoMontos}" />
                        </p:inputText> 
                        <h:outputLabel value="#{i18n['producto.label.stock.maximo']}" styleClass="label"/>
                        <p:inputText label="#{i18n['producto.label.stock.maximo']}" style="#{applicationMBean.estiloObligatorio}"
                                     value="#{productoMBean.dto.stockMaximo}"  readonly="#{sessionMBean.accion == 3}"
                                     onkeypress="return fn_validaTecla('decimal',this)"
                                     required="true" size="10" >
                            <f:validateLength minimum="1" maximum="9" />
                            <f:convertNumber pattern="#{applicationMBean.formatoMontos}" />
                        </p:inputText> 
                        <h:outputLabel value="#{i18n['producto.label.stock.actual']}" styleClass="label"/>
                        <p:inputText label="#{i18n['producto.label.stock.actual']}" style="#{applicationMBean.estiloObligatorio}"
                                     value="#{productoMBean.dto.stockActual}"  readonly="true"
                                     onkeypress="return fn_validaTecla('decimal',this)"
                                     required="true" size="10" >
                            <f:validateLength minimum="1" maximum="9" />
                            <f:convertNumber pattern="#{applicationMBean.formatoMontos}" />
                        </p:inputText> 

                       








                    </h:panelGrid>

                    <f:facet name="options" >  
                        <p:menu rendered="#{productoMBean.dto.id!=null}">  
                            <p:submenu>  
                                <p:menuitem value="#{i18n['general.label.propietario']}"  icon="ui-icon ui-icon-person" onclick="dlgPropietarios.show();" style="#{applicationMBean.estiloMenu}" ajax="true" />                                
                                <p:menuitem value="#{i18n['general.label.historial']}"  icon="ui-icon ui-icon-calculator" onclick="dlgBitacoraEntidad.show();" style="#{applicationMBean.estiloMenu}" ajax="true" 
                                            />                                
                            </p:submenu>  
                        </p:menu>  
                    </f:facet>  
                </p:panel>       
                <p:panel id="pnlAcciones">
                    <h:panelGrid columns="10">                        
                        <p:commandButton title="#{i18n['general.button.guardar.tip']}" accesskey="#{applicationMBean.keyGuardar}" ajax="false"
                                         icon="ui-icon ui-icon-disk" rendered="#{sessionMBean.accion != 3}"
                                         onclick="return confirm('#{i18n.general_mensaje_confirmacion}');"
                                         value="#{i18n['general.button.guardar']}" style="#{applicationMBean.cssBotonTransaccion}"
                                         action="#{productoMBean.guardar}">                                    
                        </p:commandButton>                        
                        <p:spacer width="10" />
                        <p:commandButton title="#{i18n['general.button.atras.tip']}" accesskey="#{applicationMBean.keyRetroceder}" ajax="false"
                                         icon="ui-icon ui-icon-arrowreturnthick-1-w" immediate="true"
                                         value="#{i18n['general.button.atras']}" style="#{applicationMBean.cssBotonAtras}"
                                         action="#{productoMBean.retroceder}">                                    
                        </p:commandButton>                   

                    </h:panelGrid>
                </p:panel>

                <p:dialog id="dlgPropietarios" rendered="true" modal="true"  header="#{i18n['general.label.propietario.titulo']}" widgetVar="dlgPropietarios" style="#{applicationMBean.estiloTitulo}">
                    <jb:propietarios  />
                </p:dialog>  
                <p:dialog id="dlgBitacoraEntidad" rendered="true" modal="true"  header="#{i18n['general.label.historial.titulo']}" widgetVar="dlgBitacoraEntidad" style="#{applicationMBean.estiloTitulo}">
                    <jb:bitacoraEntidad  />                    
                </p:dialog>  
            </h:form>
        </ui:define>
    </ui:composition>
</html>